The present invention relates to computer network data transmission, and more particularly relates to the cost-efficient use of multiple routers to provide connections with wide area networks, including connections with the global computer network commonly referred to as the Internet.
Many local area networks (xe2x80x9cLANsxe2x80x9d) are connected to the Internet or another wide area network (xe2x80x9cWANxe2x80x9d). LANs may also be connected to one another through the Internet or another WAN. A given LAN, or a given sub-network of a LAN, is connected to the WAN through a device known as a router. For convenience, reference is made hereafter to LANs with the understanding that xe2x80x9cLANxe2x80x9d means xe2x80x9cLAN or sub-networkxe2x80x9d unless otherwise stated. Routers use both WAN addresses, such as Internet Protocol (xe2x80x9cIPxe2x80x9d) addresses, and physical addresses, such as Ethernet addresses. Physical addresses may also be called xe2x80x9cdata link addressesxe2x80x9d.
Each router receives from its LAN all network traffic addressed to a destination outside the LAN, such as data packets addressed to a remote IP address. The router forwards those packets to the next router along a path to the destination. The path often takes the packet through part of the Internet or another WAN. The router likewise receives Internet or other WAN packets from other LANs which are destined for machines within the router""s LAN, and re-addresses the packets so they can be delivered using physical addresses which are internal to the LAN. Conversion from an IP address to a data link address such as an Ethernet address may be done using a conventional Address Resolution Protocol (xe2x80x9cARPxe2x80x9d). Some known systems use two or more routers with a form of inflexible load balancing, whereby all requests go out over a first router and all responses come back over a second router.
FIG. 1 illustrates a conventional network topology 100 which uses a router to connect a LAN (or sub-network, as noted above) to a WAN. Several nodes 102 are connected by LAN xe2x80x9cwiresxe2x80x9d in a LAN 106. The nodes 102 may include machines such as desktop computers, laptops, workstations, disconnectable mobile computers, mainframes, information appliances, personal digital assistants, and other handheld and/or embedded processing systems. The xe2x80x9cwiresxe2x80x9d 104 may include twisted pair, coaxial, or optical fiber cables, telephone lines, satellites, microwave relays, modulated AC power lines, and/or other data transmission xe2x80x9cwiresxe2x80x9d known to those of skill in the art. The network 106 may include Novell Netware(copyright), VINES, Microsoft Windows NT or Windows 2000, LAN Manager, or LANtastic network operating system software (NETWARE is a registered trademark of Novell, Inc.; VINES is a trademark of Banyan Systems; WINDOWS NT, WINDOWS 2000, and LAN MANAGER are trademarks of Microsoft Corporation; LANTASTIC is a trademark of Artisoft).
Another xe2x80x9cwirexe2x80x9d 108 connects a router 110 to the LAN 106. A wide variety of routers 110 are known in the art. At a minimum, the router 110 maintains a table of routes for different destination addresses. Different routers 110 can handle different physical address types (Ethernet, . . . ). Some routers provide firewall services. Different routers also handle connections that run at different speeds using different line technologies (T1, T3, ADSL, RADSL, . . . ). But in general, some type of high-speed connection 112 connects the router 110 to a WAN 114.
The Internet or a portion of the Internet may serve as the WAN 114, or the WAN 114 may be separate from the Internet. xe2x80x9cInternetxe2x80x9d as used herein includes variations such as a private Internet, a secure Internet, a value-added network, a virtual private network, or a wide area intranet. Another connection 116 connects a server 118 or other destination with the WAN 114.
Like the illustrated topology 100, other conventional network topologies utilize one router per LAN (or sub-network). Conventional network topologies do not support the routing of data over multiple routers in any given LAN. For instance, standard TCP/IP stacks are not able to direct data packets from a given LAN to multiple routers when the data needs to be sent to other LANs. Multiple routers may be physically present, but one router is designated as the default gateway for the LAN. This default gateway receives all the traffic for the LAN from outside, and forwards data packets from inside the LAN to the next LAN on their way to their destinations.
The router 110 which serves as the default gateway also maintains a table of routes for different destination addresses. Data transmission generally takes place between two networks over the shortest defined path, where a path is represented as a list of routers which the data has to traverse in order to reach the destination node. For instance, a data packet from a given node 102 addressed with the IP address of the server 118 will be sent from the node 102 over the LAN wires 104, 108 to the gateway router 110, will travel from there over the high-speed connection 112 to the WAN 114 (which may forward the packet along a path containing multiple routers), and will finally arrive at the server 118.
Once a node such as a client PC 102 on the LAN 106 performs the Address Resolution Protocol, the information is stored in an ARP table on the client PC 102. After this the PC 102 does not send an ARP request until a timeout condition occurs. ARP tables and ARP timeouts are used in conventional systems and they may also be used according to the invention. After an ARP request is sent because of a timeout, or for another reason (e.g., when an ARP table entry is made manually), IP communication starts with SYN packet. SYN packets in and of themselves are known in the art.
Similar steps occur when a packet from the same node 102 is addressed to another node on a distant LAN. In place of the server 118 the path would include another router connected to the distant LAN. In its capacity as gateway for the distant LAN, the distant router would receive the packet from the WAN 114 and deliver it to the distant node.
For clarity of illustration, Internet Service Providers (xe2x80x9cISPsxe2x80x9d) have not been shown in FIG. 1. However, those of skill in the art understand that one or more ISPs will often be located along the path followed by a packet which travels to or from a LAN node 102 over the Internet 114.
The configuration 100 is widely used but nevertheless has significant limitations. Although the data transmission speed over lines such as the line 112 is relatively high when compared to traditional analog telephone data lines, the available bandwidth may not always be sufficient. For instance, the number of users within the LAN 106 may increase to a point at which the data transmission capacity of the WAN connection 112 reaches its maximum limit. In order to obtain more bandwidth, a company could lease more expensive dedicated data lines 112 which have greater data transmission speeds, such as lines employing T3 or OC3 technologies.
To delay expensive upgrades to line technology and to the corresponding router technology, bandwidth can be used more efficiently. This might be done by compressing data, by combining different types of data to reduce the total number of packets, and by reducing unnecessary access to the WAN 114 through appropriate personnel policies. Tools and techniques for improving router 110 performance are also being developed and made commercially available. In addition, new data transmission technologies like ADSL, RADSL, and others are being proposed and developed. Although these technologies do not have as high a data transmission rate as T3 or OC3, they are several times faster than analog lines.
Moreover, commonly owned copending application Ser. No. 08/859,070 filed May 20, 1997 describes a mux device for assisting the transmission of a user""s data between two computer networks. The mux device could be added to a system like that shown in FIG. 1 to increase the bandwidth of the connection 112 by using multiple modem connections. The mux device allocates exclusively to a user for a period of time at least two connections between the two computer networks. Each of the connections uses a telephone connection which is physically separate from the other connection(s) for at least a portion of that connection. The mux device also contains other components, and the application also describes and claims methods and systems.
Commonly owned copending application Ser. No. 09/476,646 filed Dec. 31, 1999 describes an invention which is related to the present invention. The invention of the ""646 application involves ARP (address resolution protocol) tools and techniques, while the present invention involves SYN (synchronization) tools and techniques.
References which mention or discuss tools and techniques for more efficient WAN access are identified and discussed relative to the present invention in a Petition for Special Examining Procedure filed concurrently with the present application. To the extent that the Petition describes the technical background of the invention as opposed to the invention itself, the text of the Petition is incorporated herein by this reference. This incorporation by reference does not imply that the claimed invention was previously known.
However, taking the conventional measures noted above may still provide only a short-term solution. Despite such measures, demands on the line 112 can still quickly grow to exceed the bandwidth of the line 112, thereby forcing the LAN 106 owner to seriously consider an expensive upgrade in line 112 and router 110 technology, such as an upgrade from a T1 connection 112 to a T3 connection 112.
Accordingly, it would be an advancement in the art to provide another alternative for increasing the bandwidth available to connect a LAN with a WAN, without requiring a routing system upgrade to a substantially more expensive line technology.
It would also be an advancement to provide such an alternative which is compatible with a wide variety of existing line technologies and routers.
Such improvements to LAN-WAN connectivity are disclosed and claimed herein.
The present invention provides a system and method for improved data transmission in the form of high-speed interconnections over wide area networks such as the Internet. The novel interconnections use multiple routers to provide multiple links between two or more sites, providing greater bandwidth by combining or teaming the individual routers and connections. For instance, data may be exchanged between a local area network and a target server or a target remote LAN using multiple routers. Several relatively low-cost routers and lines can be combined to give a much greater aggregate data throughput, thereby avoiding at least for a time the need to upgrade to a more expensive line technology, such as an upgrade from T1 to T3 line technology.
Traditional networking concepts involve a network configuration with one router per LAN (as elsewhere herein, xe2x80x9cLANxe2x80x9d means xe2x80x9cLAN or sub-networkxe2x80x9d unless stated other-wise; a LAN may include an intranet). As noted above, the traditional network design cannot support data routing over multiple routers in a LAN. Instead, traditional designs require that users designate one router as the default gateway.
By contrast, in the novel configuration each LAN is allowed to have multiple routers communicating with other LANs. Controller software may be installed on a computing device containing a microprocessor and peripherals. This computer, known as the gateway computer, can be designated as the default gateway for a LAN. On receiving data destined for an external network, the controller software will direct the data to the appropriate router for the LAN. In addition to providing higher speed connections, the present invention thus provides redundant connections from the originating LAN to the wide area network, thereby increasing the system""s fault tolerance. When a router stops functioning, the controller software automatically redirects the data destined for the external network to one or more other functioning routers.
The controller software decides, based on router loads and/or other criteria, when to add in the next router. This provides each LAN with higher speed access to the external network, since the total speed attained will be closer to the sum of the speeds achieved by each router. The invention will direct traffic to different routers, whereas a conventional gateway PC is only aware the existence of one router. The controller will work with all existing router technologies like ANALOG, ISDN, ADSL, T1, DS3, frame relay, and so on, as well as future technologies like cable modem and other data technologies for routing data packets. The invention does not require multi-link PPP (Point-to-Point Protocol) or an inverse multiplexing device at an Internet service provider.
In one embodiment, a LAN/intranet device sends out a request to access some resource on the Internet, such as a Web page. The request is directed to the controller on the LAN. The controller senses how many routers are connected to it, selects one, and routes the request to the selected router. The request reaches the destination resource and the destination generates a response. The response from the Internet comes back to the router, which sends it back to the controller computer, which in turn sends it to the user on the LAN.
On a LAN with multiple client devices, one device or multiple devices may send out many data or resource requests at the same time. The controller computer receives all these requests and distributes them intelligently among multiple routers, keeping track of the load on each router. In this way, the responses to these requests also come back through multiple routers. These routers are working concurrently, so the total bandwidth available to the LAN/intranet users is approximately the combined bandwidth of the multiple routers.
In another embodiment, two or more LANs communicate with each other using multiple routers. The data stream is multiplexed over several routers going out of the first LAN, and then at the receiving LAN the data stream is recombined to restore the sequence of the original data transfer. This method provides combined throughput higher than single data line throughput. The controller software on the two communicating data networks is made aware of the addresses of the multiple routers on the two ends of the communication path, by exchanging command data packets at the beginning of data transfer.
In each embodiment, when the novel controller software receives a SYN packet it is an indication that a new data transfer connection has been requested. This also indicates to the novel controller software that a new data stream is ready for multiplexing or directing to the router(s). The controller selects a router, based on information such as router loads and/or router usage history, and modifies the SYN packet such that the selected router will then be used by the new connection.
In summary, the present invention provides tools and techniques to allow more than one router per LAN for external data traffic, including multiple traffic packets which are directed to the same destination such as a Web page. The invention provides tools and techniques for managing the bandwidth of the multiple routers on a LAN, including tools and techniques for combining multiple routers"" bandwidths with a single-ended approach that allows but does not require any reciprocating technology at the opposite end. The invention provides tools and techniques for redirecting traffic to several routers from one controller computing device. Communication between two physically separate data networks may take place using multiple routers, so that multiple data links are simultaneously used as separate data streams. Other features and advantages of the invention will become more fully apparent through the following description.